html {
    overflow-x: initial !important;
}

:root {
    --bg-color: #ffffff;
    --text-color: #333333;
    --select-text-bg-color: #B5D6FC;
    --select-text-font-color: auto;
    --monospace: "Lucida Console", Consolas, "Courier", monospace;
    --title-bar-height: 20px;
}

.mac-os-11 {
    --title-bar-height: 28px;
}

html {
    font-size: 14px;
    background-color: var(--bg-color);
    color: var(--text-color);
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

body {
    margin: 0px;
    padding: 0px;
    height: auto;
    inset: 0px;
    font-size: 1rem;
    line-height: 1.42857;
    overflow-x: hidden;
    background: inherit;
    tab-size: 4;
}

iframe {
    margin: auto;
}

a.url {
    word-break: break-all;
}

a:active, a:hover {
    outline: 0px;
}

.in-text-selection, ::selection {
    text-shadow: none;
    background: var(--select-text-bg-color);
    color: var(--select-text-font-color);
}

#write {
    margin: 0px auto;
    height: auto;
    width: inherit;
    word-break: normal;
    overflow-wrap: break-word;
    position: relative;
    white-space: normal;
    overflow-x: visible;
    padding-top: 36px;
}

#write.first-line-indent p {
    text-indent: 2em;
}

#write.first-line-indent li p, #write.first-line-indent p * {
    text-indent: 0px;
}

#write.first-line-indent li {
    margin-left: 2em;
}

.for-image #write {
    padding-left: 8px;
    padding-right: 8px;
}

body.typora-export {
    padding-left: 30px;
    padding-right: 30px;
}

.typora-export .footnote-line, .typora-export li, .typora-export p {
    white-space: pre-wrap;
}

.typora-export .task-list-item input {
    pointer-events: none;
}

@media screen and (max-width: 500px) {
    body.typora-export {
        padding-left: 0px;
        padding-right: 0px;
    }

    #write {
        padding-left: 20px;
        padding-right: 20px;
    }
}

#write li > figure:last-child {
    margin-bottom: 0.5rem;
}

#write ol, #write ul {
    position: relative;
}

img {
    max-width: 100%;
    vertical-align: middle;
    image-orientation: from-image;
}

button, input, select, textarea {
    color: inherit;
    font: inherit;
}

input[type="checkbox"], input[type="radio"] {
    line-height: normal;
    padding: 0px;
}

*, ::after, ::before {
    box-sizing: border-box;
}

#write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p, #write pre {
    width: inherit;
}

#write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p {
    position: relative;
}

p {
    line-height: inherit;
}

h1, h2, h3, h4, h5, h6 {
    break-after: avoid-page;
    break-inside: avoid;
    orphans: 4;
}

p {
    orphans: 4;
}

h1 {
    font-size: 2rem;
}

h2 {
    font-size: 1.8rem;
}

h3 {
    font-size: 1.6rem;
}

h4 {
    font-size: 1.4rem;
}

h5 {
    font-size: 1.2rem;
}

h6 {
    font-size: 1rem;
}

.md-math-block, .md-rawblock, h1, h2, h3, h4, h5, h6, p {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.hidden {
    display: none;
}

.md-blockmeta {
    color: rgb(204, 204, 204);
    font-weight: 700;
    font-style: italic;
}

a {
    cursor: pointer;
}

sup.md-footnote {
    padding: 2px 4px;
    background-color: rgba(238, 238, 238, 0.7);
    color: rgb(85, 85, 85);
    border-radius: 4px;
    cursor: pointer;
}

sup.md-footnote a, sup.md-footnote a:hover {
    color: inherit;
    text-transform: inherit;
    text-decoration: inherit;
}

#write input[type="checkbox"] {
    cursor: pointer;
    width: inherit;
    height: inherit;
}

figure {
    overflow-x: auto;
    margin: 1.2em 0px;
    max-width: calc(100% + 16px);
    padding: 0px;
}

figure > table {
    margin: 0px;
}

thead, tr {
    break-inside: avoid;
    break-after: auto;
}

thead {
    display: table-header-group;
}

table {
    border-collapse: collapse;
    border-spacing: 0px;
    width: 100%;
    overflow: auto;
    break-inside: auto;
    text-align: left;
}

table.md-table td {
    min-width: 32px;
}

.CodeMirror-gutters {
    border-right: 0px;
    background-color: inherit;
}

.CodeMirror-linenumber {
    user-select: none;
}

.CodeMirror {
    text-align: left;
}

.CodeMirror-placeholder {
    opacity: 0.3;
}

.CodeMirror pre {
    padding: 0px 4px;
}

.CodeMirror-lines {
    padding: 0px;
}

div.hr:focus {
    cursor: none;
}

#write pre {
    white-space: pre-wrap;
}

#write.fences-no-line-wrapping pre {
    white-space: pre;
}

#write pre.ty-contain-cm {
    white-space: normal;
}

.CodeMirror-gutters {
    margin-right: 4px;
}

.md-fences {
    font-size: 0.9rem;
    display: block;
    break-inside: avoid;
    text-align: left;
    overflow: visible;
    white-space: pre;
    background: inherit;
    position: relative !important;
}

.md-fences-adv-panel {
    width: 100%;
    margin-top: 10px;
    text-align: center;
    padding-top: 0px;
    padding-bottom: 8px;
    overflow-x: auto;
}

#write .md-fences.mock-cm {
    white-space: pre-wrap;
}

.md-fences.md-fences-with-lineno {
    padding-left: 0px;
}

#write.fences-no-line-wrapping .md-fences.mock-cm {
    white-space: pre;
    overflow-x: auto;
}

.md-fences.mock-cm.md-fences-with-lineno {
    padding-left: 8px;
}

.CodeMirror-line, twitterwidget {
    break-inside: avoid;
}

svg {
    break-inside: avoid;
}

.footnotes {
    opacity: 0.8;
    font-size: 0.9rem;
    margin-top: 1em;
    margin-bottom: 1em;
}

.footnotes + .footnotes {
    margin-top: 0px;
}

.md-reset {
    margin: 0px;
    padding: 0px;
    border: 0px;
    outline: 0px;
    vertical-align: top;
    background: 0px 0px;
    text-decoration: none;
    text-shadow: none;
    float: none;
    position: static;
    width: auto;
    height: auto;
    white-space: nowrap;
    cursor: inherit;
    -webkit-tap-highlight-color: transparent;
    line-height: normal;
    font-weight: 400;
    text-align: left;
    box-sizing: content-box;
    direction: ltr;
}

li div {
    padding-top: 0px;
}

blockquote {
    margin: 1rem 0px;
}

li .mathjax-block, li p {
    margin: 0.5rem 0px;
}

li blockquote {
    margin: 1rem 0px;
}

li {
    margin: 0px;
    position: relative;
}

blockquote > :last-child {
    margin-bottom: 0px;
}

blockquote > :first-child, li > :first-child {
    margin-top: 0px;
}

.footnotes-area {
    color: rgb(136, 136, 136);
    margin-top: 0.714rem;
    padding-bottom: 0.143rem;
    white-space: normal;
}

#write .footnote-line {
    white-space: pre-wrap;
}

@media print {
    body, html {
        border: 1px solid transparent;
        height: 99%;
        break-after: avoid;
        break-before: avoid;
        font-variant-ligatures: no-common-ligatures;
    }

    #write {
        margin-top: 0px;
        padding-top: 0px;
        border-color: transparent !important;
        padding-bottom: 0px !important;
    }

    .typora-export * {
        -webkit-print-color-adjust: exact;
    }

    .typora-export #write {
        break-after: avoid;
    }

    .typora-export #write::after {
        height: 0px;
    }

    .is-mac table {
        break-inside: avoid;
    }

    .typora-export-show-outline .typora-export-sidebar {
        display: none;
    }
}

.footnote-line {
    margin-top: 0.714em;
    font-size: 0.7em;
}

a img, img a {
    cursor: pointer;
}

pre.md-meta-block {
    font-size: 0.8rem;
    min-height: 0.8rem;
    white-space: pre-wrap;
    background: rgb(204, 204, 204);
    display: block;
    overflow-x: hidden;
}

p > .md-image:only-child:not(.md-img-error) img, p > img:only-child {
    display: block;
    margin: auto;
}

#write.first-line-indent p > .md-image:only-child:not(.md-img-error) img {
    left: -2em;
    position: relative;
}

p > .md-image:only-child {
    display: inline-block;
    width: 100%;
}

#write .MathJax_Display {
    margin: 0.8em 0px 0px;
}

.md-math-block {
    width: 100%;
}

.md-math-block:not(:empty)::after {
    display: none;
}

.MathJax_ref {
    fill: currentcolor;
}

[contenteditable="true"]:active, [contenteditable="true"]:focus, [contenteditable="false"]:active, [contenteditable="false"]:focus {
    outline: 0px;
    box-shadow: none;
}

.md-task-list-item {
    position: relative;
    list-style-type: none;
}

.task-list-item.md-task-list-item {
    padding-left: 0px;
}

.md-task-list-item > input {
    position: absolute;
    top: 0px;
    left: 0px;
    margin-left: -1.2em;
    margin-top: calc(1em - 10px);
    border: none;
}

.math {
    font-size: 1rem;
}

.md-toc {
    min-height: 3.58rem;
    position: relative;
    font-size: 0.9rem;
    border-radius: 10px;
}

.md-toc-content {
    position: relative;
    margin-left: 0px;
}

.md-toc-content::after, .md-toc::after {
    display: none;
}

.md-toc-item {
    display: block;
    color: rgb(65, 131, 196);
}

.md-toc-item a {
    text-decoration: none;
}

.md-toc-inner:hover {
    text-decoration: underline;
}

.md-toc-inner {
    display: inline-block;
    cursor: pointer;
}

.md-toc-h1 .md-toc-inner {
    margin-left: 0px;
    font-weight: 700;
}

.md-toc-h2 .md-toc-inner {
    margin-left: 2em;
}

.md-toc-h3 .md-toc-inner {
    margin-left: 4em;
}

.md-toc-h4 .md-toc-inner {
    margin-left: 6em;
}

.md-toc-h5 .md-toc-inner {
    margin-left: 8em;
}

.md-toc-h6 .md-toc-inner {
    margin-left: 10em;
}

@media screen and (max-width: 48em) {
    .md-toc-h3 .md-toc-inner {
        margin-left: 3.5em;
    }

    .md-toc-h4 .md-toc-inner {
        margin-left: 5em;
    }

    .md-toc-h5 .md-toc-inner {
        margin-left: 6.5em;
    }

    .md-toc-h6 .md-toc-inner {
        margin-left: 8em;
    }
}

a.md-toc-inner {
    font-size: inherit;
    font-style: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.footnote-line a:not(.reversefootnote) {
    color: inherit;
}

.reversefootnote {
    font-family: ui-monospace, sans-serif;
}

.md-attr {
    display: none;
}

.md-fn-count::after {
    content: ".";
}

code, pre, samp, tt {
    font-family: var(--monospace);
}

kbd {
    margin: 0px 0.1em;
    padding: 0.1em 0.6em;
    font-size: 0.8em;
    color: rgb(36, 39, 41);
    background: rgb(255, 255, 255);
    border: 1px solid rgb(173, 179, 185);
    border-radius: 3px;
    box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset;
    white-space: nowrap;
    vertical-align: middle;
}

.md-comment {
    color: rgb(162, 127, 3);
    opacity: 0.6;
    font-family: var(--monospace);
}

code {
    text-align: left;
    vertical-align: initial;
}

a.md-print-anchor {
    white-space: pre !important;
    border-width: initial !important;
    border-style: none !important;
    border-color: initial !important;
    display: inline-block !important;
    position: absolute !important;
    width: 1px !important;
    right: 0px !important;
    outline: 0px !important;
    background: 0px 0px !important;
    text-decoration: initial !important;
    text-shadow: initial !important;
}

.os-windows.monocolor-emoji .md-emoji {
    font-family: "Segoe UI Symbol", sans-serif;
}

.md-diagram-panel > svg {
    max-width: 100%;
}

[lang="flow"] svg, [lang="mermaid"] svg {
    max-width: 100%;
    height: auto;
}

[lang="mermaid"] .node text {
    font-size: 1rem;
}

table tr th {
    border-bottom: 0px;
}

video {
    max-width: 100%;
    display: block;
    margin: 0px auto;
}

iframe {
    max-width: 100%;
    width: 100%;
    border: none;
}

.highlight td, .highlight tr {
    border: 0px;
}

mark {
    background: rgb(255, 255, 0);
    color: rgb(0, 0, 0);
}

.md-html-inline .md-plain, .md-html-inline strong, mark .md-inline-math, mark strong {
    color: inherit;
}

.md-expand mark .md-meta {
    opacity: 0.3 !important;
}

mark .md-meta {
    color: rgb(0, 0, 0);
}

@media print {
    .typora-export h1, .typora-export h2, .typora-export h3, .typora-export h4, .typora-export h5, .typora-export h6 {
        break-inside: avoid;
    }
}

.md-diagram-panel .messageText {
    stroke: none !important;
}

.md-diagram-panel .start-state {
    fill: var(--node-fill);
}

.md-diagram-panel .edgeLabel rect {
    opacity: 1 !important;
}

.md-fences.md-fences-math {
    font-size: 1em;
}

.md-fences-advanced:not(.md-focus) {
    padding: 0px;
    white-space: nowrap;
    border: 0px;
}

.md-fences-advanced:not(.md-focus) {
    background: inherit;
}

.typora-export-show-outline .typora-export-content {
    max-width: 1440px;
    margin: auto;
    display: flex;
    flex-direction: row;
}

.typora-export-sidebar {
    width: 300px;
    font-size: 0.8rem;
    margin-top: 80px;
    margin-right: 18px;
}

.typora-export-show-outline #write {
    --webkit-flex: 2;
    flex: 2 1 0%;
}

.typora-export-sidebar .outline-content {
    position: fixed;
    top: 0px;
    max-height: 100%;
    overflow: hidden auto;
    padding-bottom: 30px;
    padding-top: 60px;
    width: 300px;
}

@media screen and (max-width: 1024px) {
    .typora-export-sidebar, .typora-export-sidebar .outline-content {
        width: 240px;
    }
}

@media screen and (max-width: 800px) {
    .typora-export-sidebar {
        display: none;
    }
}

.outline-content li, .outline-content ul {
    margin-left: 0px;
    margin-right: 0px;
    padding-left: 0px;
    padding-right: 0px;
    list-style: none;
}

.outline-content ul {
    margin-top: 0px;
    margin-bottom: 0px;
}

.outline-content strong {
    font-weight: 400;
}

.outline-expander {
    width: 1rem;
    height: 1.42857rem;
    position: relative;
    display: table-cell;
    vertical-align: middle;
    cursor: pointer;
    padding-left: 4px;
}

.outline-expander::before {
    content: "";
    position: relative;
    font-family: Ionicons;
    display: inline-block;
    font-size: 8px;
    vertical-align: middle;
}

.outline-item {
    padding-top: 3px;
    padding-bottom: 3px;
    cursor: pointer;
}

.outline-expander:hover::before {
    content: "";
}

.outline-h1 > .outline-item {
    padding-left: 0px;
}

.outline-h2 > .outline-item {
    padding-left: 1em;
}

.outline-h3 > .outline-item {
    padding-left: 2em;
}

.outline-h4 > .outline-item {
    padding-left: 3em;
}

.outline-h5 > .outline-item {
    padding-left: 4em;
}

.outline-h6 > .outline-item {
    padding-left: 5em;
}

.outline-label {
    cursor: pointer;
    display: table-cell;
    vertical-align: middle;
    text-decoration: none;
    color: inherit;
}

.outline-label:hover {
    text-decoration: underline;
}

.outline-item:hover {
    border-color: rgb(245, 245, 245);
    background-color: var(--item-hover-bg-color);
}

.outline-item:hover {
    margin-left: -28px;
    margin-right: -28px;
    border-left: 28px solid transparent;
    border-right: 28px solid transparent;
}

.outline-item-single .outline-expander::before, .outline-item-single .outline-expander:hover::before {
    display: none;
}

.outline-item-open > .outline-item > .outline-expander::before {
    content: "";
}

.outline-children {
    display: none;
}

.info-panel-tab-wrapper {
    display: none;
}

.outline-item-open > .outline-children {
    display: block;
}

.typora-export .outline-item {
    padding-top: 1px;
    padding-bottom: 1px;
}

.typora-export .outline-item:hover {
    margin-right: -8px;
    border-right: 8px solid transparent;
}

.typora-export .outline-expander::before {
    content: "+";
    font-family: inherit;
    top: -1px;
}

.typora-export .outline-expander:hover::before, .typora-export .outline-item-open > .outline-item > .outline-expander::before {
    content: "−";
}

.typora-export-collapse-outline .outline-children {
    display: none;
}

.typora-export-collapse-outline .outline-item-open > .outline-children, .typora-export-no-collapse-outline .outline-children {
    display: block;
}

.typora-export-no-collapse-outline .outline-expander::before {
    content: "" !important;
}

.typora-export-show-outline .outline-item-active > .outline-item .outline-label {
    font-weight: 700;
}

.md-inline-math-container mjx-container {
    zoom: 0.95;
}

mjx-container {
    break-inside: avoid;
}


.CodeMirror {
    height: auto;
}

.CodeMirror.cm-s-inner {
    background: inherit;
}

.CodeMirror-scroll {
    overflow: auto hidden;
    z-index: 3;
}

.CodeMirror-gutter-filler, .CodeMirror-scrollbar-filler {
    background-color: rgb(255, 255, 255);
}

.CodeMirror-gutters {
    border-right: 1px solid rgb(221, 221, 221);
    background: inherit;
    white-space: nowrap;
}

.CodeMirror-linenumber {
    padding: 0px 3px 0px 5px;
    text-align: right;
    color: rgb(153, 153, 153);
}

.cm-s-inner .cm-keyword {
    color: rgb(119, 0, 136);
}

.cm-s-inner .cm-atom, .cm-s-inner.cm-atom {
    color: rgb(34, 17, 153);
}

.cm-s-inner .cm-number {
    color: rgb(17, 102, 68);
}

.cm-s-inner .cm-def {
    color: rgb(0, 0, 255);
}

.cm-s-inner .cm-variable {
    color: rgb(0, 0, 0);
}

.cm-s-inner .cm-variable-2 {
    color: rgb(0, 85, 170);
}

.cm-s-inner .cm-variable-3 {
    color: rgb(0, 136, 85);
}

.cm-s-inner .cm-string {
    color: rgb(170, 17, 17);
}

.cm-s-inner .cm-property {
    color: rgb(0, 0, 0);
}

.cm-s-inner .cm-operator {
    color: rgb(152, 26, 26);
}

.cm-s-inner .cm-comment, .cm-s-inner.cm-comment {
    color: rgb(170, 85, 0);
}

.cm-s-inner .cm-string-2 {
    color: rgb(255, 85, 0);
}

.cm-s-inner .cm-meta {
    color: rgb(85, 85, 85);
}

.cm-s-inner .cm-qualifier {
    color: rgb(85, 85, 85);
}

.cm-s-inner .cm-builtin {
    color: rgb(51, 0, 170);
}

.cm-s-inner .cm-bracket {
    color: rgb(153, 153, 119);
}

.cm-s-inner .cm-tag {
    color: rgb(17, 119, 0);
}

.cm-s-inner .cm-attribute {
    color: rgb(0, 0, 204);
}

.cm-s-inner .cm-header, .cm-s-inner.cm-header {
    color: rgb(0, 0, 255);
}

.cm-s-inner .cm-quote, .cm-s-inner.cm-quote {
    color: rgb(0, 153, 0);
}

.cm-s-inner .cm-hr, .cm-s-inner.cm-hr {
    color: rgb(153, 153, 153);
}

.cm-s-inner .cm-link, .cm-s-inner.cm-link {
    color: rgb(0, 0, 204);
}

.cm-negative {
    color: rgb(221, 68, 68);
}

.cm-positive {
    color: rgb(34, 153, 34);
}

.cm-header, .cm-strong {
    font-weight: 700;
}

.cm-del {
    text-decoration: line-through;
}

.cm-em {
    font-style: italic;
}

.cm-link {
    text-decoration: underline;
}

.cm-error {
    color: red;
}

.cm-invalidchar {
    color: red;
}

.cm-constant {
    color: rgb(38, 139, 210);
}

.cm-defined {
    color: rgb(181, 137, 0);
}

div.CodeMirror span.CodeMirror-matchingbracket {
    color: rgb(0, 255, 0);
}

div.CodeMirror span.CodeMirror-nonmatchingbracket {
    color: rgb(255, 34, 34);
}

.cm-s-inner .CodeMirror-activeline-background {
    background: inherit;
}

.CodeMirror {
    position: relative;
    overflow: hidden;
}

.CodeMirror-scroll {
    height: 100%;
    outline: 0px;
    position: relative;
    box-sizing: content-box;
    background: inherit;
}

.CodeMirror-sizer {
    position: relative;
}

.CodeMirror-gutter-filler, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-vscrollbar {
    position: absolute;
    z-index: 6;
    display: none;
    outline: 0px;
}

.CodeMirror-vscrollbar {
    right: 0px;
    top: 0px;
    overflow: hidden;
}

.CodeMirror-hscrollbar {
    bottom: 0px;
    left: 0px;
    overflow: auto hidden;
}

.CodeMirror-scrollbar-filler {
    right: 0px;
    bottom: 0px;
}

.CodeMirror-gutter-filler {
    left: 0px;
    bottom: 0px;
}

.CodeMirror-gutters {
    position: absolute;
    left: 0px;
    top: 0px;
    padding-bottom: 10px;
    z-index: 3;
    overflow-y: hidden;
}

.CodeMirror-gutter {
    white-space: normal;
    height: 100%;
    box-sizing: content-box;
    padding-bottom: 30px;
    margin-bottom: -32px;
    display: inline-block;
}

.CodeMirror-gutter-wrapper {
    position: absolute;
    z-index: 4;
    background: 0px 0px !important;
    border: none !important;
}

.CodeMirror-gutter-background {
    position: absolute;
    top: 0px;
    bottom: 0px;
    z-index: 4;
}

.CodeMirror-gutter-elt {
    position: absolute;
    cursor: default;
    z-index: 4;
}

.CodeMirror-lines {
    cursor: text;
}

.CodeMirror pre {
    border-radius: 0px;
    border-width: 0px;
    background: 0px 0px;
    font-family: inherit;
    font-size: inherit;
    margin: 0px;
    white-space: pre;
    overflow-wrap: normal;
    color: inherit;
    z-index: 2;
    position: relative;
    overflow: visible;
}

.CodeMirror-wrap pre {
    overflow-wrap: break-word;
    white-space: pre-wrap;
    word-break: normal;
}

.CodeMirror-code pre {
    border-right: 30px solid transparent;
    width: fit-content;
}

.CodeMirror-wrap .CodeMirror-code pre {
    border-right: none;
    width: auto;
}

.CodeMirror-linebackground {
    position: absolute;
    inset: 0px;
    z-index: 0;
}

.CodeMirror-linewidget {
    position: relative;
    z-index: 2;
    overflow: auto;
}

.CodeMirror-wrap .CodeMirror-scroll {
    overflow-x: hidden;
}

.CodeMirror-measure {
    position: absolute;
    width: 100%;
    height: 0px;
    overflow: hidden;
    visibility: hidden;
}

.CodeMirror-measure pre {
    position: static;
}

.CodeMirror div.CodeMirror-cursor {
    position: absolute;
    visibility: hidden;
    border-right: none;
    width: 0px;
}

.CodeMirror div.CodeMirror-cursor {
    visibility: hidden;
}

.CodeMirror-focused div.CodeMirror-cursor {
    visibility: inherit;
}

.cm-searching {
    background: rgba(255, 255, 0, 0.4);
}

span.cm-underlined {
    text-decoration: underline;
}

span.cm-strikethrough {
    text-decoration: line-through;
}

.cm-tw-syntaxerror {
    color: rgb(255, 255, 255);
    background-color: rgb(153, 0, 0);
}

.cm-tw-deleted {
    text-decoration: line-through;
}

.cm-tw-header5 {
    font-weight: 700;
}

.cm-tw-listitem:first-child {
    padding-left: 10px;
}

.cm-tw-box {
    border-style: solid;
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 1px;
    border-color: inherit;
    border-top-width: 0px !important;
}

.cm-tw-underline {
    text-decoration: underline;
}

@media print {
    .CodeMirror div.CodeMirror-cursor {
        visibility: hidden;
    }
}


:root {
    /* dark color for background*/
    /* default color */
    --bg-color1: #292A2B;
    /* for most panel, context, header, etc */
    --bg-color2: #292A2B;
    /* for toc and table edit panel */
    --bg-color3: #222324;
    /* for tips */
    --bg-color4: #212020;
    /* for blockquote, codeblock, input, etc */
    --bg-color5: #303233;
    /* light color for text and icon*/
    /* default color */
    --text-color1: #E6E6E6;
    /* for text on panel */
    --text-color2: #E6E6E6;
    /* for checkbox and radio */
    --text-color3: #757575;
    /* for tips */
    --text-color4: #E6E6E6;
    /* for focus mode */
    --text-color5: rgba(170, 178, 180, 0.5);
    /* link color */
    --link-color: #6FC1FF;
    /* table color */
    --table-border-color: #555;
    --table-thead-color: #2b2d2e;
    --table-bg-color: #303233;
    --table-bg-darker-color: #303233;
    /* hover color */
    /* default hover background color */
    --hover-bg-color1: rgb(62, 66, 73);
    /* for input item */
    --hover-bg-color2: hsl(220, 9%, 14%);
    /* for button on toc and table edit panel */
    --hover-bg-color3: rgba(62, 66, 73, 0.8);
    /* default hover text color */
    --hover-text-color: white;
    /* active color */
    --active-color: #6FC1FF;
    /* input color */
    --input-color: #222324;
    /* menu divider color */
    /*   --menu-divider-color: rgb(95, 97, 101); */
    --menu-divider-color: #292A2B;
    --graph-divider-color: #E6E6E6;
    /* scrollbar color */
    --scrollbar-thumb-color: #6FC1FF;
    --scrollbar-track-color: rgba(95, 97, 101, 0.3);
    /* theme select color */
    --theme-select-color: rgba(255, 255, 255, 0.5);
    --button-color: rgb(62, 66, 73);
    --select-color: rgb(33, 37, 43);
    /* focus color */
    --focus-color: rgba(100, 100, 100, 0.8);
    --focus-ring-color: var(--focus-color);
    /* codeblock color */
    --code-red-color: #FF75B5;
    --code-yellow-color: #FFB86C;
    --code-cyan-color: #19f9d8;
    --code-blue-color: #6FC1FF;
    --code-purple-color: #FF75B5;
    --code-orange-color: #FFB86C;
    --code-green-color: #19f9d8;
    --code-grey-color: hsl(220, 9%, 55%);

    --code-select-bg-color: rgb(64, 72, 89);
    --code-cursor-color: hsl(220, 100%, 66%);
    /* implicit selecttion text bg color */
    --select-text-bg-color: rgba(107, 120, 148, 0.5);
    /* implicit button color */
    --primary-color: var(--button-color);
    --primary-btn-border-color: transparent;
    --primary-btn-text-color: var(--text-color2);
    /* implicit sidebar color */
    --side-bar-bg-color: var(--bg-color2);
    --control-text-color: var(--text-color2);
    /* implicit text color */
    --text-color: var(--text-color1);
    /* implicit background color for setting menu */
    --bg-color: var(--bg-color1);
    /* implicit hover color */
    --item-hover-bg-color: var(--hover-bg-color1);
    --item-hover-text-color: var(--hover-text-color);
    /* implicit active color */
    --active-file-bg-color: var(--hover-bg-color);
    /* implicit mathjax edit panel background color */
    --rawblock-edit-panel-bd: var(--bg-color5);
    /* implicit focus mode color */
    --blur-text-color: var(--text-color5);
    /* implicit search result select color */
    --search-select-bg-color: var(--select-text-bg-color);
    --search-select-bg-color: rgb(56, 71, 95);

    --control-text-hover-color: var(--hover-text-color);
    /* implicit active file color in sidebar file menu treeview */
    --active-file-text-color: var(--hover-text-color);
    --active-file-border-color: #6FC1FF;

    --node-border: var(--menu-divider-color);
    --node-fill: var(--bg-color5);
    --mermaid-theme: dark;

    --window-border: none;
}

/* font */
/* basic style */
html {
    font-size: 20px; /* 14 */
}

body {
    font-family: "Open Sans", "Clear Sans", "Helvetica Neue", "仿宋", Helvetica, Arial,
    sans-serif;
    color: var(--text-color1);
    background: var(--bg-color1);
    line-height: 1.6;
}

/* text selection background color */
.in-text-selection {
    background-color: rgb(64, 72, 89);
}

/* link */
#write a:not([role="menuitem"]) {
    color: var(--link-color) !important;
}

#write a:not([role="menuitem"]):hover {
    color: var(--hover-text-color) !important;
}

/* h1-h6 */

#write > h1:first-child,
h1 {
    padding-top: 0.25em;
    padding-bottom: 0.25em;
    font-weight: normal;
    font-size: 3em;
    text-align: center;
}

h2 {
    padding-top: 0.6em;
    padding-bottom: 0.6em;
    font-size: 2.2em;
    font-weight: normal;
    text-align: center;
}

h3 {
    padding-top: 0.25em;
    padding-bottom: 0.25em;
    font-weight: normal;
    font-style: italic;
    font-size: 1.6em;
    text-align: center;
}

h4 {
    padding-top: 0.25em;
    padding-bottom: 0.25em;
    font-size: 1.2em;
}

h2:after {
    border-bottom: 1px solid var(--text-color1);
    content: '';
    width: 100px;
    display: block;
    margin: 0 auto;
    height: 1px;
}


/* horizontal divider */
hr {
    height: 2px;
    background-color: var(--text-color1);
    border: 0px;
}

/* list */
ul,
ol {
    padding-left: 30px;
}

/* blockquote */
blockquote {
    border-left: 4px solid #45A9F9;
    padding: 4px 15px;
    color: hsl(220, 6%, 60%);
}

blockquote blockquote {
    padding-right: 0em;
}

/* table */
.md-rawblock > .md-rawblock-container table,
.md-table-fig,
.md-table-fig:active {
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

table thead tr {
    background-color: var(--table-thead-color);
}

table tr th {
    font-weight: bold;
    border-left: 2px solid var(--table-border-color);
    border-right: 2px solid var(--table-border-color);
    text-align: left;
    margin: 0;
    padding: 6px 13px;
}

table tbody tr {
    border-top: 2px solid var(--table-border-color);
    margin: 0;
    padding: 0;
}

table tbody tr:nth-child(2n) {
    background-color: var(--table-bg-darker-color);
}

table tbody tr:nth-child(2n + 1) {
    background-color: var(--table-bg-color);
}

table tr td {
    border-left: 2px solid var(--table-border-color);
    border-right: 2px solid var(--table-border-color);
    text-align: left;
    margin: 0;
    padding: 6px 13px;
}

table tr th:first-child,
table tr td:first-child {
    border-left-width: 0px;
}

table tr th:last-child,
table tr td:last-child {
    border-right-width: 0px;
}

/* table edit panel */
.ty-table-edit {
    background-color: var(--bg-color3);
    border: 0px;
    border-radius: 6px;
    padding-top: 2px;
    padding-bottom: 2px;
    padding-left: 6px;
    padding-right: 6px;
    margin-top: -29px !important;
}

/* button on table edit panel */
.ty-table-edit button {
    background-color: transparent;
    color: var(--text-color2);
    border: 0px;
    margin-left: 0px !important;
}

/* button hover on table edit panel */
.ty-table-edit button:hover {
    background-color: var(--hover-bg-color3);
    color: var(--hover-text-color);
}

/* adjusting table panel */
.popover {
    background-color: var(--bg-color2);
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);
}

/* arrow of adjusting table panel */
.popover.bottom > .arrow:after {
    border-bottom-color: var(--bg-color2);
}

/* divider in adjust table panel */
.md-grid-board-wrap .popover-title {
    border-top-color: var(--menu-divider-color);
}

/* grid size */
.md-grid-board a {
    width: 15px;
    height: 15px;
}

/* existing thread grid */
.md-grid-board tr[row="1"] .md-grid-ext {
    background-color: rgb(60, 60, 60);
}

/* not existing thread grid */
.md-grid-board tr[row="1"] {
    background-color: rgb(220, 220, 220);
}

/* existing grid */
.md-grid-board .md-grid-ext {
    background-color: rgb(120, 120, 120);
}

/* selected thread grid */
.md-grid-board tr[row="1"] a.md-active,
.md-grid-board tr[row="1"] a:hover {
    background-color: rgb(60, 60, 60);
}

/* selected grid */
.md-grid-board a.md-active,
.md-grid-board a:hover {
    border-color: var(--menu-divider-color);
    background-color: rgb(120, 120, 120);
}

/* footnote */
sup.md-footnote {
    color: var(--text-color1);
    background-color: var(--bg-color2);
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

/* mathjax */
/* .mathjax-block>.code-tooltip {
    bottom: .375rem;
}
.md-mathjax-midline {
    background: #fafafa;
} */
.md-inline-math script {
    color: var(--text-color1);
}

.on-focus-mode #write svg {
    opacity: 1;
}

.md-rawblock > .md-rawblock-container {
    transition: 0.5s;
}

.md-rawblock > .md-rawblock-tooltip {
    transition: 0.5s;
    display: block;
    visibility: hidden;
    opacity: 0;
}

.md-rawblock:hover > .md-rawblock-tooltip {
    transition: 0.5s;
    visibility: visible;
    opacity: 1;
    animation: none;
}

/* meta information of image */
.md-image > .md-meta {
    border: 0px;
    padding: 2px 0px 0px 4px;
    font-size: 0.9em;
    color: var(--text-color1);
}

/* input */
input {
    background-color: var(--input-color) !important;
    border: 0px !important;
    box-shadow: none;
}

/* input hover */
/* input:hover {
    background-color: var(--hover-bg-color2) !important;
} */

/* radio */
input[type="radio"]:before {
    content: "";
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    vertical-align: middle;
    text-align: center;
    border: 0px;
    border-radius: 0.55rem;
    background-color: var(--input-color);
    margin-top: -0.4rem;
    margin-left: -0.1rem;
    box-shadow: none;
}

/* radio hover */
input[type="radio"]:not([disabled]):not(:checked):hover:before {
    content: "\25CF";
    font-size: 1rem;
    line-height: 1rem;
    color: var(--text-color3);
}

/* radio checked */
input[type="radio"]:checked:before {
    content: "\25CF";
    font-size: 1rem;
    line-height: 1rem;
    color: var(--text-color2);
}

/* radio checked hover*/
input[type="radio"]:checked:before {
    content: "\25CF";
    font-size: 1rem;
    line-height: 1rem;
    color: var(--hover-text-color);
}

/* default focus style */
:focus {
    outline-color: var(--focus-color);
}

/* exit source view button */
.typora-sourceview-on #toggle-sourceview-btn {
    background-color: var(--bg-color2);
}

.typora-sourceview-on #toggle-sourceview-btn:hover {
    background-color: var(--hover-bg-color1);
}

/* shadow for image item*/
.md-image img {
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

/* toc */
.md-toc {
    background-color: var(--bg-color3);
    border-radius: 6px;
    padding: 0px 0px 0px 0px;
    margin: 0px 0px 0px 0px;
    border: 0px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

/* toc content */
.md-toc-content {
    padding-top: 5px;
    padding-bottom: 8px;
    margin-top: 15px;
    margin-bottom: 0px;
}

/* remove outline when toc is selected */
.md-toc:focus .md-toc-content {
    border: 0px;
    margin: 0px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

/* toc item */
.md-toc-item {
    margin: 2px;
}

/* toc edit panel */
#write div.md-toc-tooltip {
    border: 0px;
    padding-left: 10px;
    padding-right: 10px;
    background-color: var(--bg-color3);
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    opacity: 0;
    visibility: hidden;
    display: block !important;
    transition: 0.3s;
}

#write .md-toc:focus div.md-toc-tooltip {
    visibility: visible;
    opacity: 1;
}

#write .md-toc:focus {
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
}

/* toc delete button */
.md-delete-toc {
    background-color: transparent;
}

/* html block */
.md-htmlblock:hover .md-htmlblock-container {
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    border-radius: 6px;
    border-top-right-radius: 0px;
}

/* search panel */
#md-searchpanel {
    background-color: var(--bg-color2);
    color: var(--text-color2);
    box-shadow: none;
}

/* ignore case button and find whole word button */
.searchpanel-search-option-btn {
    border: 0px;
}

/* button on search panel */
#md-searchpanel .btn:hover {
    color: var(--hover-text-color);
    background-color: var(--hover-bg-color1) !important;
}

/* remove shadow around input in search panel*/
#md-searchpanel input {
    box-shadow: none;
}

/* search option button hover */
.searchpanel-search-option-btn:not(.active):hover {
    color: var(--hover-text-color);
    background-color: var(--hover-bg-color1);
}

/* close button in search panel */
#md-searchpanel .input-group-addon.close-btn {
    padding-left: 16px;
    padding-right: 16px;
}

/* replaceall button */
.ty-replace-panel-row #search-panel-replaceall-btn {
    padding-left: 8px;
    padding-right: 6px !important;
}

/* replace button */
.ty-replace-panel-row #search-panel-replace-btn {
    padding-left: 16px;
    padding-right: 16px;
}

/* sidebar */
.sidebar-menu {
    color: var(--text-color2);
}

/* sidebar shadow */
#typora-sidebar,
.typora-node #typora-sidebar {
    box-shadow: none;
}

/* divider between file item and search */
.ty-sidebar-search-panel {
    border-color: var(--menu-divider-color);
}

/* file item in sidebar */
#file-library .file-list-item {
    border-bottom: 0px;
    opacity: 1;
    border-left: 4px solid;
    border-color: #45A9F9;
}

/* file item hover */
#file-library .file-list-item:hover {
    background-color: var(--hover-bg-color1);
    color: var(--hover-text-color);
    border-color: var(--hover-bg-color1);
}

/* file item active */
#file-library .file-list-item.active {
    background-color: var(--hover-bg-color1);
    color: var(--hover-text-color);
    border-color: var(--hover-text-color);
}

/* suffix of file item*/
.file-list-item-file-ext-part {
    opacity: 0.8;
}

/* sidebar file menu */
#sidebar-files-menu {
    border: 0px;
    box-shadow: none;
}

/* sidebar file menu item */
.dropdown-menu > li > a {
    color: var(--text-color2);
}

.dropdown-menu > li > a:hover {
    color: var(--hover-text-color);
}

/* sidebar file menu close button */
#close-sidebar-menu-btn:hover {
    color: var(--hover-text-color);
}

/* sidebar file nemu divider */
#sidebar-files-menu > .show + .menuitem-group-label.show {
    border-color: var(--menu-divider-color);
}

/* sidebar osx tab */
.html-for-mac .sidebar-osx-tab > .sidebar-tabs {
    border: 0px;
    box-shadow: none;
}

.html-for-mac .sidebar-content {
    z-index: -1; /* so that the background doesn't overlap with the shadow */
}

/* sidebar footer */
.sidebar-footer {
    border: 0px;
    box-shadow: none;
}

/* remove outline when file item in treeview is selected*/
.file-library-node:not(.file-node-root):focus > .file-node-content {
    outline: none;
}

/* sort button on sidebar file menu */
.ty-side-sort-btn.active,
.ty-side-sort-btn:hover {
    color: var(--hover-text-color);
}

/* setting */
/* header in setting */
.window-header {
    box-shadow: none;
}

/* sidebar in setting */
.sidebar {
    background-color: var(--bg-color2) !important;
    box-shadow: none;
}

.list-group-content {
    margin-left: 10px !important;
}

/* sidebar button in setting menu */
.nav-group-item {
    color: var(--text-color2) !important;
    border-top-left-radius: 6px !important;
    border-bottom-left-radius: 6px !important;
    border-top-right-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
}

/* sidebar button hover in setting menu */
.nav-group-item:hover,
.nav-group-item:active,
.nav-group-item.active {
    background-color: var(--hover-bg-color1) !important;
    color: var(--hover-text-color) !important;
}

/* remove up and down button from number type input*/
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
}

/* the indent example in setting.editor */
div[data-index="2"] .label-input-group td:last-child div {
    border: 0px !important;
    border-radius: 6px;
    background-color: var(--bg-color5);
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    margin: 10px !important;
}

/* button in setting menu */
.ty-preferences button.btn-default {
    border: 0px;
    background-color: var(--bg-color5);
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    border-radius: 6px;
}

/* button hover in setting menu */
.ty-preferences .btn-default:not([disabled]):hover {
    background-color: var(--hover-bg-color1) !important;
}

/* return button in setting menu */
.window-header button:hover {
    color: #6FC1FF !important;
}

/* search input in setting menu */
.search-input {
    border-top-left-radius: 6px !important;
    border-bottom-left-radius: 6px !important;
    border-top-right-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
    margin-top: 10px !important;
    margin-bottom: 10px !important;
    margin-left: 10px !important;
}

.search-input:focus {
    border: none !important;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2) !important;
}

/* select item (mostly in setting menu) */
select {
    border: 0px;
    border-radius: 6px;
    background-color: var(--input-color) !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    box-shadow: none;
}

/* enabled select item hover */
select:not([disabled]):hover {
    color: var(--text-color2);
    opacity: 1;
}

/* disabled select item hover */
select[disabled]:hover {
    opacity: 0.5;
}

/* mega menu */
.megamenu-content,
.megamenu-opened header {
    background: var(--bg-color1);
}

.megamenu-content {
    display: block;
    visibility: hidden;
    opacity: 0;
    transition: 0.3s;
}

.megamenu-opened .megamenu-content {
    visibility: visible;
    opacity: 1;
    animation: none;
}

/* mega menu sidebar*/
.megamenu-menu {
    background-color: var(--bg-color2);
    box-shadow: none;
}

/* return button in mega menu */
#megamenu-menu-sidebar .menu-style-btn {
    border: 0px;
}

/* remove divider in mega menu */
.megamenu-menu-header {
    border-color: var(--menu-divider-color);
}

/* return button color in mega menu */
.megamenu-menu-header #megamenu-menu-header-title {
    color: var(--text-color2);
}

/* return button hover in mega menu */
.megamenu-menu-header:hover {
    background-color: var(--hover-bg-color1);
}

/* return button hover in mega menu */
.megamenu-menu-header:hover #megamenu-menu-header-title {
    color: var(--hover-text-color);
}

/* long button in mega menu */
.long-btn {
    border: 0px;
    background-color: var(--bg-color5);
    color: var(--text-color1);
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    margin-bottom: 10px;
    margin-left: 10px;
}

/* recent file in mega menu */
#recent-file-panel {
    padding: 10px;
}

#recent-document-table {
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

#recent-file-panel-action-btn {
    background: var(--bg-color5);
    border: 0px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

#recent-file-panel thead tr {
    background-color: var(--table-thead-color);
}

#recent-file-panel tbody tr:nth-child(2n) {
    background-color: var(--table-bg-darker-color);
}

#recent-file-panel tbody tr:nth-child(2n + 1) {
    background-color: var(--table-bg-color);
}

#recent-file-panel-action-btn:hover {
    background-color: var(--hover-bg-color1);
    color: var(--text-color2);
}

/* theme preview */
.theme-preview-div {
    box-shadow: 10px 0px 10px rgba(0, 0, 0, 0.8);
}

/* theme preview hover */
.theme-preview-div:hover {
    border-color: var(--theme-select-color);
}

/* context menu and spell check panel */
.dropdown-menu:not(.megamenu-menu-list) {
    background-color: var(--bg-color2);
    color: var(--text-color2);
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}

/* divider in context menu and spell check panel */
.dropdown-menu .divider {
    border-color: var(--menu-divider-color);
}

/* remove divider outline */
.dropdown-menu {
    border: 0px;
}

/* footer */
footer.ty-footer {
    border-top: 0px !important;
    background-color: var(--bg-color2) !important;
    /*     color: var(--text-color2); */
    box-shadow: none;
}

/* footer item */
.footer-item,
#outline-btn,
#footer-word-count {
    color: var(--text-color2);
    opacity: 1;
}

/* footer item hover */
.footer-item:hover,
#outline-btn:hover {
    background-color: var(--hover-bg-color1);
    color: var(--hover-text-color);
}

/* button on some panel */
.btn {
    border: 0px;
    outline-width: 0px !important;
}

.btn:hover {
    background-color: var(--hover-bg-color1);
    color: var(--hover-text-color);
}

/* traffic button hover */
#top-titlebar .toolbar-icon.btn:hover {
    color: var(--text-color2);
    background-color: var(--hover-bg-color1);
}

/* traffic button hover */
#top-titlebar #w-close:hover {
    background-color: #e81123 !important;
}

/* adjust maxmize restore button height */
.typora-maxmized #w-restore {
    height: 24px;
}

/* left upper button hover */
.ty-menu-btn-area:hover .ty-menu-btn-area-sub {
    color: var(--text-color2) !important;
}

/* scrollbar */
::-webkit-scrollbar {
    width: 8px;
    padding-right: 10px;
    background-color: rgba(0, 0, 0, 0);
}

/* scrollbar track */
::-webkit-scrollbar-track:hover {
    background-color: var(--scrollbar-track-color) !important;
    border-radius: 4px;
}

/* scrollbar thumb */
::-webkit-scrollbar-thumb,
::-webkit-scrollbar-thumb:active {
    background-color: var(--scrollbar-thumb-color) !important;
    border-radius: 4px;
}

/* tip when hover on a button */
#ty-tooltip {
    background-color: var(--bg-color4);
    color: var(--text-color4);
}

/* item container hover in context menu */
.menu-item-container:hover {
    background-color: var(--bg-color2);
}

/* item in context menu */
.menu-item-container .menu-style-btn {
    border-color: var(--menu-divider-color);
}

/* mathjax edit panel*/
.md-rawblock-before {
    border-top-left-radius: 6px;
}

.md-rawblock-after {
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
}

/* mathjax focus */
.MathJax_SVG:focus {
    outline: none;
    background-color: transparent;
}

/* notification panel */
#md-notification {
    background-color: var(--bg-color2) !important;
    color: var(--text-color2);
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.5);
}

#ty-surpress-mode-warning-close-btn {
    float: unset !important;
    margin: 0px !important;
}

.unibody-window #md-notification p {
    bottom: -4px !important;
}

/* inline codeblock */
code {
    font-size: 0.9em;
    background-color: var(--bg-color5);
    padding: .3em;
    padding-top: 0.15em;
    padding-bottom: 0.15em;
    border: 2px solid #666;
    border-radius: 0.25rem;
}

/* codeblock */
.md-fences,
.md-fences:active {
    background-color: var(--bg-color5);
    border-radius: 6px;
    padding: 8px 4px 8px 4px !important;
    margin-top: 15px;
    margin-bottom: 15px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

.md-fences .code-tooltip {
    display: block !important;
    visibility: hidden;
    opacity: 0;
    transition: 0.3s;
    background-color: var(--bg-color3);
}

.md-fences.md-focus .code-tooltip {
    opacity: 1;
    visibility: visible;
}

.CodeMirror-lines {
    padding-left: 4px;
}

/* selected text and cursor */
.CodeMirror-selected,
.CodeMirror-selectedtext {
    background: var(--code-select-bg-color) !important;
}

.CodeMirror div.CodeMirror-cursor {
    border-left: 2px solid var(--code-cursor-color);
    z-index: 3;
}

.CodeMirror.cm-s-typora-default div.CodeMirror-cursor {
    border-left: 3px solid var(--code-cursor-color);
}

/* highlight */
.cm-s-inner .cm-property {
    color: var(--code-blue-color) !important;
}

.cm-s-inner .cm-operator {
    color: var(--code-cyan-color) !important;
}

.cm-s-inner .cm-keyword {
    color: var(--code-purple-color) !important;
}

.cm-s-inner .cm-tag {
    color: var(--code-red-color) !important;
}

.cm-s-inner .cm-attribute {
    color: var(--code-orange-color) !important;
}

.cm-s-inner .cm-string {
    color: var(--code-green-color) !important;
}

.cm-s-inner .cm-comment,
.cm-s-inner.cm-comment {
    /*     color: var(--code-orange-color) !important; */
    color: var(--code-grey-color) !important;
}

.cm-s-inner .cm-header,
.cm-s-inner .cm-def,
.cm-s-inner.cm-header,
.cm-s-inner.cm-def {
    /*     color: var(--code-red-color) !important; */
    color: var(--code-blue-color) !important;
}

.cm-s-inner .cm-meta,
.cm-s-inner .cm-qualifier {
    color: var(--code-red-color) !important;
}

.cm-s-inner .cm-builtin {
    /*     color: var(--code-blue-color) !important; */
    color: var(--code-cyan-color) !important;
}

.cm-s-inner .cm-bracket {
    color: var(--text-color1) !important;
}

.cm-s-inner .cm-number {
    color: var(--code-orange-color) !important;
}

.cm-s-inner .cm-variable {
    color: var(--text-color1) !important;
}

.cm-s-inner .cm-variable-2 {
    /*     color: var(--code-blue-color) !important; */
    color: var(--code-yellow-color) !important;
}

.cm-s-typora-default .cm-header,
.cm-s-typora-default .cm-property {
    color: var(--code-red-color) !important;
}

.cm-s-typora-default .cm-string {
    /*     color: var(--code-blue-color); */
    color: var(--code-purple-color);
}

.cm-s-typora-default .cm-atom {
    color: var(--code-grey-color);
}

.cm-s-typora-default .cm-number {
    color: var(--code-orange-color);
    font-style: normal !important;
}

.cm-s-typora-default .cm-link {
    color: var(--code-blue-color);
}

.cm-s-typora-default .CodeMirror-activeline-background {
    background: var(--hover-bg-color1);
}

.cm-s-typora-default .cm-comment,
.cm-s-typora-default .cm-code {
    color: var(--code-purple-color);
}

.cm-s-typora-default .cm-tag {
    /*     color: var(--code-red-color); */
    color: var(--code-blue-color);
}

.cm-s-typora-default .cm-strong,
.cm-s-typora-default .cm-em,
.cm-s-typora-default .cm-del {
    /*     color: var(--code-green-color); */
    color: var(--code-orange-color);
}

.cm-s-typora-default .cm-block-start.cm-variable-2 {
    /*     color: var(--code-orange-color); */
    color: var(--code-red-color);
}

.cm-formatting-task .cm-formatting-task {
    color: var(--code-red-color);
}

/* math formula tag */
.cm-s-inner .cm-atom,
.cm-s-inner.cm-atom {
    color: var(--code-blue-color);
}

/* inline codeblock in source mode */
.cm-s-typora-default .cm-comment {
    color: var(--code-green-color);
}

/* horizontal divider when language is markdown */
.cm-s-inner .cm-hr {
    color: var(--text-color1);
}

/* variable type when language is c/cpp */
.cm-s-inner .cm-variable-3 {
    color: var(--code-purple-color);
}

/* in pie chart and flowchart */
.cm-s-inner .cm-quote,
.cm-s-inner.cm-quote {
    color: var(--code-green-color);
}

/* unknown highlight keyword */
.cm-s-inner .cm-link {
    color: var(--code-blue-color);
}

.cm-s-inner .cm-negative {
    color: #d95050;
}

.cm-s-inner .cm-positive {
    color: #50e650;
}

.cm-s-inner .cm-string-2 {
    color: #f50;
}

.CodeMirror-gutters {
    border-right: none;
}

/* focus mode */
.on-focus-mode .md-end-block:not(.md-focus) .md-toc-item {
    opacity: 0.5;
}

.on-focus-mode #write h1:not(.md-focus):before {
    opacity: 0.5;
}

.on-focus-mode #write h2:not(.md-focus):before {
    opacity: 0.5;
}

.on-focus-mode #write h1:not(.md-focus) {
    border-color: var(--text-color5);
}

.on-focus-mode #write h2:not(.md-focus) {
    border-color: var(--text-color5);
}

.on-focus-mode #write h3:not(.md-focus) {
    border-color: var(--text-color5);
}

/* YAML block */
pre.md-meta-block,
pre.md-meta-block:active {
    background-color: var(--bg-color5);
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    border-radius: 6px;
    padding: 10px;
    padding-left: 20px;
    padding-right: 20px;
}

/* switch between different mode */
#typora-source {
    font-family: monospace;
    display: block !important;
    visibility: hidden;
    opacity: 0;
    transition: 0.3s;
}

.typora-sourceview-on #typora-source {
    visibility: visible;
    opacity: 1;
}

#typora-source .CodeMirror-lines {
    max-width: 800px;
    padding-left: 70px;
    padding-right: 70px;
}

#write {
    display: block;
    visibility: visible;
    opacity: 1;
    transition: 0.3s;
    max-width: 1000px; /* 这里原本是800 */
    padding-left: 40px; /* 70 */
    padding-right: 40px; /* 70 */
}

.typora-sourceview-on #write {
    visibility: hidden;
    opacity: 0;
}

/* #md-searchpanel {
    visibility: hidden;
    opacity: 0;
    transition: 0.3s !important;
}

.on-search-panel-open #md-searchpanel {
    visibility: visible;
    opacity: 1;
} */

.uni-preference-panel {
    display: block;
    visibility: hidden;
    opacity: 0;
    transition: 0.3s;
}

.show-preference-panel .uni-preference-panel {
    visibility: visible;
    opacity: 1;
}

/* quick open menu */
.typora-quick-open-item:hover {
    background-color: var(--hover-bg-color1);
    color: var(--hover-text-color);
}

/* insert table panel */
.modal-content {
    border: 0px;
    border-radius: 6px;
}

.modal-content .btn-primary {
    background-color: var(--hover-bg-color1);
    color: var(--text-color1);
    outline-width: 0px;
}

.modal-content .btn-primary:hover {
    color: var(--hover-text-color);
}

.modal-content .form-control,
.modal-content .form-control:focus {
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

.modal-backdrop {
    background-color: black;
    opacity: 0.3 !important;
}

/* zoom  */
#zoom-hint #zoom-hint-reset {
    color: var(--text-color1);
}

#zoom-hint .zoom-hint-button:hover {
    color: var(--hover-text-color) !important;
}

/* word count */
#footer-word-count-info {
    display: block;
    visibility: hidden;
    opacity: 0;
    transition: 0.3s;
}

.ty-show-word-count #footer-word-count-info {
    visibility: visible;
    opacity: 1;
}

/* spell check */
#spell-check-panel {
    display: block;
    visibility: hidden;
    opacity: 0;
    transition: 0.3s;
}

.ty-show-spell-check #spell-check-panel {
    visibility: visible;
    opacity: 1;
}

/* search result */
.md-search-select {
    border: 2px solid #45A9F9;
    box-sizing: content-box;
    color: var(--text-color1) !important;
}

.md-search-hit {
    background-color: var(--search-select-bg-color);
}

/* search panel message */
#searchpanel-msg {
    background-color: var(--bg-color2);
    color: var(--text-color2);
}

.searchpanel-msg-btn:hover {
    background-color: var(--hover-bg-color1);
    color: var(--hover-text-color);
}

/* language selection for codeblock */
.auto-suggest-container {
    border: 0px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    background-color: var(--bg-color2);
}

/* sidebar outline item hover and active */
.outline-item:hover {
    color: var(--hover-text-color);
}

.outline-label:hover {
    text-decoration: none;
}

.pin-outline .outline-active {
    color: var(--hover-text-color);
}

/* sidebar title hover */
.info-panel-tab:hover {
    color: var(--hover-text-color) !important;
}

/* active file in sidebar file menu treeview */
.file-tree-node.active > .file-node-background {
    background-color: var(--hover-bg-color1);
}

/* hover file in sidebar file menu treeview */
.file-node-content:hover {
    cursor: pointer;
}

/* saved button in megamenu */
#m-saved:hover {
    background-color: var(--bg-color2);
    color: var(--text-color2);
    cursor: default;
}

/* mermaid flowchart */
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
    fill: var(--bg-color2);
    stroke: var(--graph-divider-color);
}

.edgePath .path {
    stroke: var(--graph-divider-color);
}

.label {
    color: var(--text-color1);
}

.edgeLabel rect {
    fill: transparent !important;
}

.cluster rect {
    fill: var(--bg-color5);
    stroke: var(--graph-divider-color);
}

/* mermaid sequence*/
text.actor {
    fill: var(--text-color1);
}

.messageLine0,
.messageLine1 {
    stroke: var(--graph-divider-color) !important;
}

rect[class*="activation"] {
    fill: var(--bg-color2);
}

.actor-line {
    stroke-width: 1px !important;
}

.labelBox {
    stroke: rgb(150, 150, 150);
}

.labelText {
    fill: var(--text-color1);
}

.loopText {
    fill: var(--text-color1);
}

.loopLine {
    stroke: rgb(150, 150, 150);
}

.note {
    fill: var(--bg-color2);
    stroke: var(--graph-divider-color);
}

.noteText {
    fill: var(--text-color1);
}

/* mermaid class */
g.classGroup text {
    fill: var(--text-color);
}

g.classGroup rect {
    stroke: var(--graph-divider-color);
    fill: var(--bg-color2);
}

g.classGroup line {
    stroke: var(--graph-divider-color);
}

.classLabel .label {
    fill: var(--text-color1) !important;
}

.relation {
    stroke: var(--graph-divider-color);
}

#compositionStart,
#compositionEnd,
#aggregationStart,
#aggregationEnd,
#dependencyStart,
#dependencyStart,
#extensionStart,
#extensionEnd {
    fill: var(--graph-divider-color);
    stroke: var(--graph-divider-color);
}

.cardinality text {
    fill: var(--text-color);
}

/* mermaid state v1 */
.stateGroup rect,
.stateGroup line {
    fill: var(--bg-color2) !important;
    stroke: var(--graph-divider-color) !important;
}

.stateGroup text {
    fill: var(--text-color) !important;
}

.stateGroup circle {
    fill: var(--bg-color4) !important;
    stroke: var(--graph-divider-color) !important;
}

.stateGroup .composit {
    /*   fill: rgb(36,40,47) !important; */
    fill: hsl(218, 13%, 17%) !important;
}

.stateGroup .alt-composit {
    /*   fill: rgb(36,40,47) !important; */
    fill: hsl(218, 13%, 16.5%) !important;
}

.state-note rect {
    fill: var(--bg-color2);
    stroke: var(--graph-divider-color);
}

.state-note text {
    fill: var(--text-color);
}

.stateLabel text {
    fill: var(--text-color);
}

#dependencyEnd {
    fill: var(--graph-divider-color);
    stroke: var(--graph-divider-color);
}

/* mermaid state v2*/
.state-start {
    fill: var(--bg-color4) !important;
    stroke: var(--graph-divider-color) !important;
}

.state-end {
    stroke: var(--graph-divider-color) !important;
    fill: var(--bg-color4) !important;
}

.divider {
    stroke: var(--graph-divider-color) !important;
    fill: var(--bg-color5) !important;
    fill: hsl(218, 13%, 13.5%) !important;
}

.fork-join {
    fill: var(--bg-color2) !important;
    stroke: var(--graph-divider-color) !important;
}

.title-state {
    fill: var(--bg-color2) !important;
}

.statediagram-cluster .outer {
    /*   fill: var(--bg-color4) !important; */
    stroke: var(--graph-divider-color) !important;
}

.statediagram-cluster .inner {
    /*   fill: var(--bg-color2) !important; */
    fill: hsl(218, 13%, 16.5%) !important;
    stroke: var(--graph-divider-color) !important;
}

.statediagram-cluster-alt .inner {
    /*   fill: var(--bg-color5) !important; */
    fill: hsl(218, 13%, 16%) !important;
    stroke: var(--graph-divider-color) !important;
}

.transition {
    stroke: var(--graph-divider-color);
}

#statediagram-barbEnd {
    fill: var(--graph-divider-color);
}

/* mermaid journey */
.journey-section {
    fill: var(--bg-color5);
    stroke: var(--graph-divider-color);
}

.journey-section div {
    color: var(--text-color) !important;
}

.task {
    fill: var(--bg-color2);
    stroke: var(--graph-divider-color);
    stroke-width: 1px;
}

.task div {
    color: var(--text-color) !important;
}

#arrowhead {
    fill: var(--graph-divider-color);
    stroke: var(--graph-divider-color);
    stroke-width: 0.3px;
}

pre[mermaid-type="journey"] line {
    stroke: var(--graph-divider-color);
    stroke-width: 2px;
}

pre[mermaid-type="journey"] text {
    fill: var(--text-color1);
}

pre[mermaid-type="journey"] g path,
pre[mermaid-type="journey"] g line {
    fill: rgb(100, 104, 110);
    stroke: var(--text-color);
}

.task-line {
    stroke: var(--graph-divider-color) !important;
}

/* mermaid erDiagram */
pre[mermaid-type="erDiagram"] rect {
    fill: var(--bg-color2);
}

pre[mermaid-type="erDiagram"] text {
    fill: var(--text-color);
}

pre[mermaid-type="erDiagram"] path {
    stroke: var(--graph-divider-color);
}

#ZERO_OR_ONE_START circle,
#ZERO_OR_ONE_END circle,
#ZERO_OR_MORE_START circle,
#ZERO_OR_MORE_END circle {
    fill: var(--bg-color);
}

/* mermaid gantt */
.titleText {
    fill: var(--text-color1);
}

.section0,
.section2 {
    fill: var(--table-thread-color);
}

.section1,
.section3 {
    fill: var(--table-bg-color);
}

.task0,
.task1,
.task2,
.task3 {
    fill: rgb(80, 84, 90);
    stroke: rgb(80, 84, 90);
}

.taskText0,
.taskText1,
.taskText2,
.taskText3 {
    fill: var(--text-color2) !important;
}

.active0,
.active1,
.active2,
.active3 {
    fill: rgb(100, 104, 110);
    stroke: rgb(100, 104, 110);
}

.activeText0,
.activeText1,
.activeText2,
.activeText3 {
    fill: var(--text-color2) !important;
}

.done0,
.done1,
.done2,
.done3 {
    fill: rgb(48, 51, 58);
    stroke: rgb(48, 51, 58);
}

.crit0,
.crit1,
.crit2,
.crit3 {
    fill: rgb(150, 150, 150);
    stroke: var(--text-color1);
}

.activeCrit0,
.activeCrit1,
.activeCrit2,
.activeCrit3 {
    fill: rgb(100, 104, 110);
    stroke: var(--text-color1);
}

.doneCrit0,
.doneCrit1,
.doneCrit2,
.doneCrit3 {
    fill: rgb(48, 51, 58);
    stroke: var(--text-color1);
}

.taskTextOutside0,
.taskTextOutside2,
.taskTextOutside1,
.taskTextOutside3 {
    fill: var(--text-color1) !important;
}

.grid text {
    fill: white;
}

.today {
    stroke: var(--text-color1);
}

/* mermaid pie chart */
g.legend > text {
    fill: var(--text-color1);
}

g.legend > rect {
    stroke: var(--bg-color) !important;
}

g > path {
    stroke: var(--bg-color);
}

g > text.slice {
    fill: var(--bg-color);
}

/* flow diagram */
.md-fences[lang="flow"] .md-diagram-panel-preview rect {
    fill: var(--bg-color2);
    stroke: var(--graph-divider-color);
    stroke-width: 1.2;
}

.md-fences[lang="flow"] .md-diagram-panel-preview path {
    stroke: var(--graph-divider-color);
    stroke-width: 1.2;
}

.md-fences[lang="flow"] #cond {
    fill: var(--bg-color2);
}

/* sequence diagram */
.md-fences[lang="sequence"] .md-diagram-panel-preview rect:not([fill="none"]) {
    fill: var(--bg-color2);
    stroke: var(--graph-divider-color);
    stroke-width: 1.2;
}

.md-fences[lang="sequence"] .md-diagram-panel-preview path {
    fill: var(--graph-divider-color);
    stroke: var(--graph-divider-color);
    stroke-width: 1.2;
}

.md-fences[lang="sequence"] text,
.md-fences[lang="flow"] text {
    font-family: "Consolas" !important;
}

/* remove box shadow when not edit graph */
.md-fences[lang="sequence"]:not(.md-focus),
.md-fences[lang="mermaid"]:not(.md-focus),
.md-fences[lang="flow"]:not(.md-focus) {
    box-shadow: none;
}

/* remove border when edit graph */
.md-diagram-panel {
    border: none !important;
}

/*CHECKBOXES*/

.md-task-list-item > input:before, input[type=checkbox]:before {
    border-radius: 0.2rem;
    margin-top: -0.08rem;
    margin-left: -0.1rem;
    width: 1rem;
    height: 1rem;
    background-color: var(--borders);
    content: " ";
    display: block;
    transition-duration: 0.3s;
    transition-property: background-color;
}

.md-task-list-item:hover > input:before, input[type=checkbox]:hover:before {
    background-color: var(--boxes-darker);
}

.md-task-list-item > input:checked:before,
.md-task-list-item > input[checked]:before, input[type=checkbox]:checked:before {
    background-color: #6FC1FF;
}

.md-task-list-item:hover > input:checked:before,
.md-task-list-item:hover > input[checked]:before, input[type=checkbox]:hover:checked:before {
    background-color: #1f65d6;
}

.md-task-list-item > input:after,
.md-task-list-item > input:after, input[type=checkbox]:after {
    transform: rotate(-45deg);
    position: absolute;
    border: 2px solid white;
    border-top: 0;
    border-right: 0;
    top: 0.16rem;
    left: 0.1rem;
    width: 0.6rem;
    height: 0.375rem;
    content: " ";
    opacity: 0;
    transition-duration: 0.3s;
    transition-property: opacity;
}

.md-task-list-item > input:checked:after,
.md-task-list-item > input[checked]:after, input[type=checkbox]:checked:after {
    opacity: 1;
}

.ty-preferences input[type=checkbox]:before {
    width: 1.2rem;
    height: 1.2rem;
}

.ty-preferences input[type=checkbox]:after {
    width: 0.5rem;
    height: 0.32rem;
    top: 0.19rem;
    left: 0.14rem;
}


@media print {
    html {
        font-size: 13px;
    }

    table,
    pre {
        page-break-inside: avoid;
    }

    pre {
        word-wrap: break-word;
    }
}

#write pre.md-meta-block {
    padding: 1rem;
    line-height: 1.45;
    background-color: var(--bg-color5);
    border: 0;
    border-radius: 0.3rem;
    color: var(--text-color1);
    border-left: solid 4px #45A9F9;
}

.md-image > .md-meta {
    border-radius: 3px;
    padding: 2px 0px 0px 4px;
    font-size: 0.9em;
    color: inherit;
}

.md-tag {
    color: var(--md-char-color);
    opacity: 1;
}

.md-toc {
    margin: 1.5rem 0rem;
}

mark {
    background-color: var(--code-yellow-color);
    border-radius: 3px;
    padding: 1px 3px 1px 3px;
    box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2);
}

.task-list-done {
    text-decoration: line-through;
    color: hsl(220, 6%, 45%);
}

kbd {
    background: #222;
    color: #ddd;
    border-color: #444;
    box-shadow: 0 2px 0 #333;
}
